package com.sgc.view;

import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpServletRequest;

import com.architecture.view.PadraoManutencaoMB;
import com.archtecture.control.exceptions.NegocioException;
import com.sgv.model.entities.CaixaModel;
import com.sgv.model.entities.VendaModel;
import com.sgv.model.persistence.SGVCaixaFacadeLocal;

@ManagedBean
@ViewScoped
public class VendaMestreDetalheMB extends PadraoManutencaoMB<VendaModel> {

	private CaixaModel mestreModel;

	@EJB
	private SGVCaixaFacadeLocal caixaFacade;

	@Override
	protected VendaModel getInstance() {
		VendaModel lModel = new VendaModel();
		return lModel;
	}

	@PostConstruct
	public void iniciarComponentes() {

		try {

			String lParam = ((HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest()).getParameter("ID");

			CaixaModel lModelMestre = new CaixaModel();
			lModelMestre.setCodigo(Long.valueOf(lParam));
			lModelMestre = getPersistenceFacade().carregar(lModelMestre);

			getModelSel().setCaixa(lModelMestre);
			setMestreModel(lModelMestre);

			executarPesquisar();
		}

		catch (NegocioException e) {
			e.printStackTrace();
		}
	}

	public CaixaModel getMestreModel() {
		if (mestreModel == null) {
			mestreModel = new CaixaModel();
		}
		return mestreModel;
	}

	public SGVCaixaFacadeLocal getCaixaFacade() {
		return caixaFacade;
	}

	public void setMestreModel(CaixaModel mestreModel) {
		this.mestreModel = mestreModel;
	}
}
